package Interface;

public interface TestDefault {
    void printInfo();

    default void mo_ren() {
        System.out.println("TestDefault.mo_ren");
        System.out.println("测试默认方法!");
    }

    static void staticMethod(){
        System.out.println("TestDefault.staticMethod");
        System.out.println("测试静态方法!");
    }
}


class TestDefaultImpl implements TestDefault{
    @Override
    public void printInfo() {
        System.out.println("TestDefaultImpl.printInfo");
    }

    // @Override // 报错，因为接口中的默认方法不是抽象方法，不能被重写
    public static void staticMethod() {
        System.out.println("TestDefaultImpl.staticMethod");
    }
}


/*
 * 学习笔记：
 * 1.默认方法可以调用静态方法
 * 2.静态方法不能调用默认方法
 */